#if !defined(ximera_audio_ilistener_hpp)
#define ximera_audio_ilistener_hpp

// -----------------------------------------------------------

#include <ximera/math/vector3.hpp>
#include <ximera/common/sharedptr.hpp>

namespace ximera { namespace audio
{
    class XIMERA_API IListener
    {
    public:
        virtual ~IListener() {}

        virtual math::Vector3 const& position() const = 0;
        virtual void position(math::Vector3 const& pos) = 0;

        virtual math::Vector3 const& velocity() const = 0;
        virtual void velocity(math::Vector3 const& vel) = 0;
    };

    typedef SharedPtr<IListener> IListenerPtr;
}}

// -----------------------------------------------------------

#endif
